#include "VistaButton.h"
#include <string>

VistaButton::VistaButton(std::string color, bool visible, int x, int y)
    : VistaFichaTablero(color, visible, x, y) {
    tipo = "button";
    std::string path = elegirColor();

    iniciarImagen();
}

VistaButton::~VistaButton() { }

void VistaButton::iniciarImagen() {
    if (visible) {
        if (color == "blue") {
            buffer = VistaFichaTablero::buffersButtonBlue[0];
        } else if (color == "red") {
            buffer = VistaFichaTablero::buffersButtonRed[0];
        } else if (color == "green") {
            buffer = VistaFichaTablero::buffersButtonGreen[0];
        } else if (color == "yellow") {
            buffer = VistaFichaTablero::buffersButtonYellow[0];
        } else {
            buffer = VistaFichaTablero::buffersButtonViolet[0];
        }
    } else {
        if (color == "blue") {
            buffer = VistaFichaTablero::buffersButtonBlue[45];
        } else if (color == "red") {
            buffer = VistaFichaTablero::buffersButtonRed[45];
        } else if (color == "green") {
            buffer = VistaFichaTablero::buffersButtonGreen[45];
        } else if (color == "yellow") {
            buffer = VistaFichaTablero::buffersButtonYellow[45];
        } else {
            buffer = VistaFichaTablero::buffersButtonViolet[45];
        }
    }
}

Glib::RefPtr<Gdk::Pixbuf> VistaButton::obtenerImagen(int nroBuffer) {
    if (color == "blue") {
        return  VistaFichaTablero::buffersButtonBlue[nroBuffer];
    } else if (color == "red") {
        return  VistaFichaTablero::buffersButtonRed[nroBuffer];
    } else if (color == "green") {
        return  VistaFichaTablero::buffersButtonGreen[nroBuffer];
    } else if (color == "yellow") {
        return  VistaFichaTablero::buffersButtonYellow[nroBuffer];
    }

    return  VistaFichaTablero::buffersButtonViolet[nroBuffer];
}

std::string VistaButton::elegirColor() {
    std::string path = "../common/img/";

    if (color == "blue") {
        path += "blue-button.png";
    } else if (color == "red") {
        path += "red-button.png";
    } else if (color == "green") {
        path += "green-button.png";
    } else if (color == "yellow") {
        path += "yellow-button.png";
    } else {
        path += "violet-button.png";
    }

    return path;
}
